home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d3 / dbmail.arc / ML0100.PRG < prev    next >
Text File  |  1988-06-18  |  6KB  |  215 lines

  1. NOTE ML0100 - ENTER/UPDATE MAILING LIST DATA    9/23/84
  2. SET FORMAT TO SCREEN
  3. SET TALK OFF
  4. USE &FDEV INDEX &FDEV
  5. ERASE
  6. STORE ',,'    TO VAR
  7. STORE 17    TO OFSET
  8. STORE LEN(CODES)    TO MAX
  9. STORE ','    TO DELIM
  10. @ 15,0 SAY 'Enter Default Code Value to Include in Codes Field of New Add Records.'
  11. DO ML0010
  12. STORE VAR    TO DC
  13. GOTO BOTTOM
  14. IF #>0
  15.     STORE RECID+1 TO NRECNO
  16. ELSE
  17.     STORE 1 TO NRECNO
  18.     ENDIF
  19. GOTO 1
  20. IF * .AND. RECID=0
  21.     STORE INST TO DESCR
  22. ELSE
  23.     STORE '                              ' TO DESCR
  24.     ENDIF
  25. @ 23,0
  26. @ 22,0
  27. DO WHILE T
  28. STORE NRECNO TO KEY
  29. @ 23,0 SAY 'ENTER RECORD ID ( "9999"=Return to Menu)  ' GET KEY PICTURE '9999'
  30. READ
  31. IF KEY=9999
  32.     USE
  33.     RELEASE RECNO,NRECNO,KEY,UPDATE,ONFILE,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,N,DESCR,DC
  34.     RELEASE OFSET,MAX,VAR,DELIM,N,OK,EXIT
  35.     RETURN
  36.     ENDIF
  37. STORE KEY    TO RECNO
  38. IF RECNO=0
  39.     STORE NRECNO TO RECNO
  40.     ENDIF
  41. STORE STR(RECNO,4) TO KEY
  42. FIND &KEY
  43. STORE T TO UPDATE,ONFILE
  44. DO CASE
  45. CASE NRECNO=RECNO .AND. #=0
  46.     STORE F TO ONFILE
  47. CASE NRECNO#RECNO .AND. #=0
  48.     ? '    RECORD NOT ON FILE.  <cr> TO ADD,  N=ENTER NEW RECORD ID.'
  49.     WAIT TO KEY
  50.     IF KEY='N'
  51.         STORE F TO UPDATE
  52.     ELSE
  53.         STORE F TO ONFILE
  54.         ENDIF
  55. CASE NRECNO=RECNO .AND. #>0
  56.     ? '    RECORD ALREADY ON FILE.  <cr> TO UPDATE,  N=SKIP THIS RECORD.'
  57.     WAIT TO KEY
  58.     IF KEY='N'
  59.         STORE F TO UPDATE
  60.         ENDIF
  61. ENDCASE
  62. IF UPDATE .AND. ONFILE
  63.     STORE INST    TO F1
  64.     STORE ADD1    TO F2
  65.     STORE ADD2    TO F3
  66.     STORE CITY    TO F4
  67.     STORE STATE    TO F5
  68.     STORE ZIP    TO F6
  69.     STORE TRIM(CODES) TO F7
  70.     STORE CONTACT    TO F8
  71.     STORE TITLE    TO F9
  72.     STORE PHONE    TO F10
  73.     STORE FIRSTNAME    TO F12
  74.     STORE AMT    TO F13
  75.     IF CP
  76.         STORE 'C'    TO F14
  77.     ELSE
  78.         STORE 'P'    TO F14
  79.         ENDIF
  80.     ENDIF
  81. IF UPDATE .AND. .NOT. ONFILE
  82.     STORE '                                        '    TO F1
  83.     STORE '                              '    TO F2,F3,F8,F9,F10,F12
  84.     STORE '                   '    TO F4
  85.     STORE ',,'    TO F7
  86.     STORE '  '    TO F5,F14
  87.     STORE '     '    TO F6
  88.     STORE 0 TO F13
  89.     ENDIF
  90. IF UPDATE
  91.     ERASE
  92.     @ 1,6 SAY 'M A I L   L I S T   N A M E   a n d   A D D R E S S   U P D A T E'
  93.     @ 2,20 SAY DESCR
  94.     @ 3,1 SAY 'Record Type (C/P) ' GET F14 PICTURE '!'
  95.     @ 3,55 SAY 'RECORD ID'
  96.     @ 3,65 SAY RECNO USING '9999'
  97.     IF *.AND.ONFILE
  98.         @ 2,55 SAY '*** RECORD DELETED ***'
  99.         ENDIF
  100.     IF .NOT.ONFILE
  101.         READ
  102.         STORE F14='C'.OR.F14='P'    TO OK
  103.         DO WHILE .NOT.OK
  104.         @ 4,5 SAY 'INVALID RECORD TYPE. MUST BE  C  or  P. Please reenter.'
  105.         @ 3,19 GET F14 PICTURE '!'
  106.         READ
  107.         STORE F14='C'.OR.F14='P'    TO OK
  108.         ENDDO
  109.         @ 4,0
  110.         CLEAR GETS
  111.         ENDIF
  112.     STORE F TO EXIT
  113.     DO WHILE .NOT.EXIT
  114.     @ 5,1 SAY 'Name               ' GET F1 PICTURE 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  115.     @ 7,1 SAY 'First Line Address ' GET F2 PICTURE 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  116.     @ 9,1 SAY 'Second Line Address' GET F3 PICTURE 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  117.     @ 11,1 SAY 'City ' GET F4 PICTURE 'XXXXXXXXXXXXXXXXXXXX'
  118.     @ 11,30 SAY 'State' GET F5 PICTURE '!!'
  119.     @ 11,40 SAY 'Zip Code' GET F6 PICTURE '99999'
  120. IF F14='C'
  121.     @ 13,1 SAY 'Contact Name' GET F8 PICTURE 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  122.     @ 13,53 SAY 'Title' GET F9 PICTURE 'XXXXXXXXXXXXXXXXXXXX'
  123. ELSE
  124.     @ 13,0
  125.     ENDIF
  126.     @ 15,1 SAY 'Greeting Name(s)    ' GET F12 PICTURE 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  127.     STORE ' '+$(F10,1,3)+' '+$(F10,4,3)+' '+$(F10,7,4)+' '+$(F10,11,4) TO F11
  128.     @ 17,1 SAY 'Phone               ' GET F11 PICTURE '(XXX)XXX-XXXX:XXXX'
  129. note    mrs-g    @ 17,50 SAY 'Contrib Amount ' GET F13 PICTURE '999999.99'
  130.     READ
  131.     STORE @('"',F1)=0 .AND. @('"',F2)=0 .AND. @('"',F3)=0 .AND. @('"',F4)=0 .AND. @('"',F5)=0 .AND. @('"',F8)=0 .AND. @('"',F9)=0 .AND. @('"',F11)=0 .AND. @('"',F12)=0     TO EXIT
  132.     IF .NOT.EXIT
  133.         @ 19,0 SAY 'ERROR: " found in data field. Remove before proceeding.'
  134.         ENDIF
  135.     IF ONFILE
  136.         STORE F14='C'.OR.F14='P'    TO OK
  137.         DO WHILE .NOT.OK
  138.         @ 4,5 SAY 'INVALID RECORD TYPE. MUST BE  C  or  P. Please reenter.'
  139.         @ 3,19 GET F14 PICTURE '!'
  140.         READ
  141.         STORE F14='C'.OR.F14='P'    TO OK
  142.         ENDDO
  143.         @ 4,0
  144.         CLEAR GETS
  145.         ENDIF
  146.     ENDDO {not exit}
  147.     @ 19,0
  148.     @ 21,0 SAY '--------------    D I S P O S I T I O N   M E N U   --------------------------'
  149.     @ 22,2 SAY '     D  Delete Record  B Bypass Update  R  Recall Record  U  Update   C  Codes'
  150.     @ 23,0 SAY '                                                                               '
  151.     STORE 'U'    TO KEY
  152.     @ 22,0 GET KEY PICTURE '!'
  153.     READ
  154.     IF KEY='C'
  155.         STORE F7    TO VAR
  156.         @ 15,0 SAY 'LABEL SELECTION CODES:                                   '
  157.         @ 16,0
  158.         DO ML0010
  159.         STORE VAR    TO F7
  160.         CLEAR GETS
  161.         @ 19,0
  162.         @ 20,0
  163.         @ 21,0 SAY '--------------    D I S P O S I T I O N   M E N U   --------------------------'
  164.         @ 22,2 SAY '     D  Delete Record  B Bypass Update  R  Recall Record  U  Update           '
  165.         @ 23,0 SAY '                                                                               '
  166.         STORE 'U'    TO KEY
  167.         @ 22,0 GET KEY PICTURE '!'
  168.         READ
  169.         ENDIF
  170.     DO CASE
  171.     CASE KEY='B'
  172.     CASE KEY='D'
  173.         IF ONFILE .AND. .NOT.*
  174.             DELETE
  175.             @ 23,60 SAY 'RECORD DELETED'
  176.             ENDIF
  177.     CASE KEY='R'
  178.         IF ONFILE .AND. *
  179.             RECALL
  180.             @ 23,60 SAY 'RECORD RECALLED'
  181.             ENDIF
  182.     OTHERWISE
  183.         IF .NOT. ONFILE
  184.             APPEND BLANK
  185.             REPLACE RECID WITH RECNO
  186.             STORE RECNO+1 TO NRECNO
  187.             IF F7=',,'
  188.                 STORE DC    TO F7
  189.                 ENDIF
  190.             ENDIF
  191.         IF F14='P'
  192.             STORE ' '    TO F8,F9
  193.             ENDIF
  194.         REPLACE INST    WITH F1;
  195.             ADD1    WITH F2;
  196.             ADD2    WITH F3
  197.         REPLACE CITY    WITH F4;
  198.             STATE    WITH F5;
  199.             ZIP    WITH F6
  200.         REPLACE CODES    WITH F7;
  201.             CONTACT    WITH F8;
  202.             TITLE    WITH F9
  203.         REPLACE PHONE    WITH $(F11,2,3)+$(F11,6,3)+$(F11,10,4)+$(F11,15,4)
  204.         REPLACE FIRSTNAME WITH F12;
  205.             CP    WITH F14='C';
  206.             AMT    WITH F13
  207.         @ 23,60 SAY 'RECORD UPDATED'
  208.     ENDCASE
  209.     ENDIF
  210. ENDDO
  211. ORD UPDATED'
  212.     ENDCASE
  213.     ENDIF
  214. ENDDO
  215.